1. Field of the Invention
The present invention relates to systems and methods for delivering media programs to consumers, and specifically to a pluggable system for allocating media assets between global and local storage based on identified trends.
2. Description of the Related Art
In the past decades, the delivery of media programs such as movies, television shows, and other audiovisual content to consumers has undergone several transformations. Early media program dissemination was accomplished primarily by wireless broadcast transmission on VHF and UHF (very high an ultra high frequencies) by local transmitters using a limited number of channels. This provided adequate resolution and serviced a large number of customers, particularly in metropolitan areas. However, individuals disposed in rural areas were typically incapable of receiving such broadcast transmissions, and the number of channels available were limited.
Later development of cable transmission systems solved this problem, providing television services to remote areas and offering many more channels of media programs. Like the wireless broadcasts that preceded them, cable transmissions included multiple channels, typically implemented by conventional modulation techniques. The installation of cables for such transmission was expensive, however, and gave rise to cable companies having virtual monopolies in serving particular geographical areas.
Satellite transmission systems solved this problem, since media programs could be broadcast over wide geographical areas at the same time. The high frequencies of such transmission offered both wide bandwidth for a large number of channels, and the use of smaller ground antennas, thus permitting unobtrusive installation in a wide variety of locations.
Still later, advances in video coding, digital subscriber lines (DSL) and the proliferation of fiber optic cable permitted widespread dissemination of media programs via the Internet. On-line media program providers such as NETFLIX and HULU provide services competitive in many respects to those provided by cable and satellite media program providers. Further, the content providers (entities that generate the media programs such as FOX and other movie and television studios) also provide media programs via the Internet.
Although technical advances have made the provision of media programs via the Internet feasible, such provision remains challenging, particularly with large number of subscribers, and a desire among customers for high quality (e.g. high resolution) video presentations.
At the same time, dissemination of media programs via the Internet offers the ability for viewers to receive media programs “on demand” (e.g. in response to a specific request for that media program), rather than receiving the media programs that are transmitted at a time determined by the media program provider. Such provision allows the customer to select from a broader range of media programs for viewing, and obviates much of the advantage of using digital video recorders (DVRs) to record real time broadcasts for later viewing. For example, since the media program is typically streamed to the viewing device, the media program provider can make it difficult or impossible to skip advertisements, as a customer might if the media program were recorded using a DVR.
The customer's ability to select from a broader range of media programs on an “on demand” basis places unique demands on the media program provider. Media programs, especially high resolution media programs, are quite large, and require a great deal of storage. Exacerbating storage requirements is the fact that different user devices have different processing and display capabilities, and the ideal coding parameters of a media program vary from device to device. For example, a smartphone has a small display, with smaller processing power than can be realized on a full-sized monitor and a large processor. Hence, a lower resolution version of a particular media program is more appropriate for a smartphone than a higher resolution version. Similarly, a low resolution version of a media program may be appropriate for use with a smartphone, but entirely inappropriate for a large display and a high capacity processor. As a consequence, the media program provider must either transcode the media program from a mezzanine (highest quality) coding to the desired coding before transmission, or store multiple versions, one for each possible desired coding quality. Storing multiple versions of multiple media programs requires a network of large capacity storage devices, and in many cases, the economy of scale is such that it is infeasible for media program providers to store all of the media programs of interest.
Consequently, media program providers often rely at least in part on what has become known as “cloud” storage. Cloud storage is a model of data storage in which the digital data is stored in logical pools, the physical storage (i.e. where the bits are actually manifested in a physical device) spans multiple servers (and often locations). Typically, the physical environment is typically owned and managed by a hosting company, which provides the storage for a fee. These hosting companies are usually responsible for keeping the data available and accessible, and the physical environment protected and running. Customers (including individuals and organizations) buy or lease storage capacity from the providers to store user, organization, or application data.
The temporal latency of the process of retrieving data items from storage and transmitting it to a client is also a factor. Storage can be categorized as “cold” (higher temporal latency, but typically lower cost) and “hot” (lower temporal latency, but typically higher cost). Of course, using the same analogy of temperature and data latency, storage may also be described as “tepid,” or “lukewarm” or “ice cold” (also referred to “glacial”). Such storage may also be referred to as online storage (supporting frequent, rapid access to data), offline storage (used for back-ups or long-term storage with infrequent access to data, or nearline storage (representing a compromise between online and offline storage). The “temperature” of the data may also be determined by a other performance indicators such as the age of data, and database-related parameters such as the number of times a table or range partition was access, rows read, rows inserted or deleted.
Assuming the temporal latency across a population of customers is a performance metric to be minimized for improved service, hot storage is appropriate for media programs that are in high and/or frequent demand, while cold storage is appropriate for media programs that are in low and/or infrequent demands. The problems with this are twofold: (1) moving media programs from cold storage to hot storage is itself time consuming, and by the time this can be accomplished, service interruptions or failure to deliver the desired high quality media program to customers is the result; and (2) cloud storage typically does not provide the customer storing the data any visibility into where the data is physically stored, thus preventing the customer from knowing whether data stored in the cloud can be rapidly retrieved or not. Hence, there is a countervailing desire for the capacity and economy of cloud storage and a desire for visibility into the physical storage location of the data to determine whether it can be adequately provided to consumers.
There is therefore a need to identify uptrending media programs (media programs that are on the upswing in terms of interest to the consuming public) and downtrending media programs (media programs that are on the downswing in terms of interest to the consuming public), and to move media programs between cold and hot storage and in-between.
At the same time, each cloud storage services is typically accessed through cloud-unique a co-located cloud computer service, a web service application programming interface (API) or by applications that utilize the API, such as cloud desktop storage, a cloud storage gateway or Web-based content management systems. The problem is that such interfaces are typically home-grown, and thus different from storage hose to storage host. Since media providers may have media programs stored by more than one storage host (and in some cases, the different versions of the same media program stored by different storage hosts), there is no ability to manage and optimize storage across the media program provider's entire library of media programs. Further, it is advantageous to move uptrending media programs from cold to hot storage in physical locations geographically proximate the demand for the media programs. This desire to control the physical storage location of items antithetical to the notion of cloud storage itself (in which data storage is logically, rather than physically managed).
What is needed is a system and method that identifies trends in media to predict future demand for media program, and using these predictions, moves the media programs stored in a potential plurality of logical cloud storage hosts from cold to hot storage, preferably to physical storage locations to maximize the quality of service to the customer. The system and methods illustrated below satisfies these conflicting needs.